feat(deps): upgrade upstream dependencies - #2373
Conversation
|
✅ Deploy Preview for viteplus-preview canceled.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Native binary sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
vp (Linux x64) |
Binary | 10.51 MiB | 10.51 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.55 MiB | 4.55 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | Binary | 33.66 MiB | 33.68 MiB | +16.06 KiB (+0.05%) |
| NAPI (Linux x64) | gzip -9 | 13.07 MiB | 13.08 MiB | +9.57 KiB (+0.07%) |
vp (macOS ARM64) |
Binary | 7.86 MiB | 7.86 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 3.97 MiB | 3.97 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | Binary | 40.98 MiB | 41.00 MiB | +16.20 KiB (+0.04%) |
| NAPI (macOS ARM64) | gzip -9 | 17.31 MiB | 17.31 MiB | +2.04 KiB (+0.01%) |
vp (Windows x64) |
Binary | 8.40 MiB | 8.40 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 3.66 MiB | 3.66 MiB | -1 B (-0.00%) |
| NAPI (Windows x64) | Binary | 27.75 MiB | 27.77 MiB | +16.50 KiB (+0.06%) |
| NAPI (Windows x64) | gzip -9 | 10.89 MiB | 10.89 MiB | +3.93 KiB (+0.04%) |
| Trampoline (Windows x64) | Binary | 205.00 KiB | 205.00 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 99.00 KiB | 99.00 KiB | +1 B (+0.00%) |
| Installer (Windows x64) | Binary | 4.45 MiB | 4.45 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.09 MiB | 2.09 MiB | +1 B (+0.00%) |
e4f5e2e to
2b05fa7
Compare
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d |
@voidzero-dev/vite-plus-core |
0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2373 bash# Windows (PowerShell)
$env:VP_PR_VERSION="2373"; irm https://vite.plus/ps1 | iexAfter installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.2b05fa7a03baf26a6df0e02ba9523eef4b18002d"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2373 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2373Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2373 vp --versionSee docs/guide/docker.md for usage. |
- rolldown: 872b98a -> v1.2.3 (52dbd19)
- vite: fa79f9a -> v8.2.1 (4216158)
- oxfmt: 0.61.0 -> 0.62.0
- oxlint: 1.76.0 -> 1.77.0
- @oxc-project/runtime: 0.142.0 -> 0.143.0
- @oxc-project/types: 0.142.0 -> 0.143.0
- oxc-minify: 0.142.0 -> 0.143.0
- oxc-parser: 0.142.0 -> 0.143.0
- oxc-transform: 0.142.0 -> 0.143.0
- oxc (Rust crates): 0.142.0 -> 0.143.0
- @vitejs/devtools: 0.4.10 -> 0.4.12
Code changes:
- crates/vp_static_config/src/lib.rs: adapt arrow-body extraction to
oxc 0.143's `ArrowFunctionBody` enum (block vs. concise expression body).
- packages/cli/src/help.ts: sync oxlint 1.77 `-W, --warn` help wording
("Deny the rule..." -> "Warn on the rule...").
- crates/vp_cli_snapshots/.../{bin_oxlint_wrapper,command_helper,command_lint_help,test_panicked_fix}.md:
update snapshots for the oxlint help wording change.
- packages/core/package.json: add `types` to `./rolldown/pluginutils`
and `./rolldown/pluginutils/filter` exports; bump bundledVersions.
- packages/core/__tests__/binding-resolution-layout.spec.ts: drop ambient
NODE_PATH from the child env to keep the virtual-store layout hermetic.
- Cargo.toml: drop proc-macro2/quote/syn from cargo-shear ignored list.
- pnpm-workspace.yaml: add `@volar/typescript` packageExtension.
- packages/cli/rules/vite-tools.yml: formatter whitespace cleanup.
oxfmt 0.62.0 collapsed the duplicate blank lines in packages/cli/rules/vite-tools.yml. getScriptRulesYaml split that file on '\n\n\n' to drop the replace-lint-staged rule, so the split returned a single block, the filter removed it, and the function returned an empty string. ast-grep then failed with "Fail to parse yaml as RuleConfig: missing field `id`", which broke vp migrate, vp create, 46 PTY snapshot cases, and every ecosystem E2E job. Split on the `---` document separator lines instead, keeping the comment lines above a separator with the rule below it. The result no longer depends on blank lines, so a formatter cannot break it again.
Move the vinext ecosystem-ci pin from aec4421b (2026-08-03) to 884259a8, the tip of cloudflare/vinext main. All three Vitest unit shards, the ten integration shards, and every E2E job are green on that commit. Its red checks are the Deploy suite and bonk, which run the upstream Next.js conformance tests against real deploys and not the unit shard this job runs. The patch anchors still hold: minimumReleaseAge in pnpm-workspace.yaml, testTimeout: 30000 in vite.config.ts, the unit and integration projects, the build and check scripts, and the better-sqlite3 fixture dependency.
2b05fa7 to
b0f7e0b
Compare
oxlint 1.77 applies .gitignore to explicitly passed paths as well (oxc-project/oxc#25133). vinext's prefer-shared-utils rule test symlinks a temp fixture directory into the repo and lints those files by path, and its .gitignore covers the link name, so oxlint reports "No files found to lint" and two tests fail. Strip the ignore entry during the ecosystem run so the rule test keeps linting its fixtures.
Add a case for `defineConfig(() => someFunction())`, a concise arrow body that is not an object literal. oxc 0.143 represents it as an expression rather than a function body, so it takes its own extraction path, and nothing covered that branch. Also give three existing arrow tests the `defineConfig` import they were missing. Without it `extract_config_from_expr` bails at the trusted-binding check and never reaches the arrow handling, so those tests asserted NonStatic without exercising the code they name.
|
@codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Release vite-plus v0.2.9: two new commands, and `vp run` now works in AI agent sandboxes. `vp toolchain` prints the tools, versions, and bundling relationships in the active release. `vp hooks` manages the Vite+ dispatcher for Git hooks, and removes the manual setup steps. `vp run` no longer fails in the default Codex CLI and Claude Code sandboxes. Those sandboxes deny Unix sockets and shared memory, which task IPC and file-access tracking used. The rest of the release makes the install path more reliable. It fixes npm 12 blocked install scripts, Yarn 2+ integrity pins, and baseline Bun builds for older CPUs. It also fixes downloads that stopped on slow connections. ### Highlights - New `vp toolchain` command. It prints the tools, versions, and bundling relationships in the active Vite+ release as a tree. The tree shows vite-plus, core, vite, rolldown, oxc, oxc-resolver, and the compiled Vite Task with its build time and revision. Give a tool name to select part of the tree. Use `--json` for machine-readable output. Use `--global` for the global release ([#2111](#2111)), by @fengmk2 - New `vp hooks` command. It manages the Vite+ dispatcher for Git hooks. `enable` installs or refreshes the dispatcher and sets `core.hooksPath`. `disable` removes the dispatcher and keeps that preference, so `prepare` and `vp config` do not install it again. `status` shows the current state. Use `--hooks-dir` to set a custom directory. Vite+ keeps that directory for later commands. Vite+ does not change project-owned hooks, `staged` config, or `package.json` lifecycle scripts ([#2341](#2341)), by @dennybiasiolli - `vp run` now works in the default Codex CLI and Claude Code sandboxes. Before this release, a cached task failed with `Failed to set up task communication: Operation not permitted`. The task code never started. Automatic file-access tracking also failed. Task caching and input tracking now work in both default profiles. You do not need extra sandbox permissions ([vite-task#569](voidzero-dev/vite-task#569), [vite-task#576](voidzero-dev/vite-task#576)), by @wan9chi ### Features - `vp create` now shows the dependencies whose install scripts npm 12 blocked. Before this release, Vite+ left those dependencies unbuilt and gave no message. To approve them, `vp create` runs `vp pm approve-builds` and then `vp pm rebuild` ([#2336](#2336)), by @fengmk2 - Large downloads no longer stop on slow connections. Node.js tarballs and package-manager tarballs now use a 10 minute timeout. Before this release, they used the shared 2 minute per-request limit. That limit stopped healthy downloads below approximately 250 KB/s. It also made `vp env install` and `vp migrate` impossible to complete. Set `VP_DOWNLOAD_TIMEOUT` to a different number of seconds ([#2386](#2386)), by @tarikermis - Package-manager downloads now show a byte progress bar. The managed Node.js runtime already showed one. A slow download no longer looks stopped ([#2369](#2369)), by @semimikoh - You can now select JetBrains editors (IntelliJ, WebStorm, and similar) in the editor setup question. Vite+ writes the Oxc plugin ID to `.idea/externalDependencies.xml`. The docs now describe the gitignore strategy for `.idea` ([#2204](#2204), [#2378](#2378)), by @KTrain5169 - `vp` now shows a warning when it falls back to the global CLI in a project that has no project-local `vite-plus`. If the project declares the dependency, `vp` tells you to run `vp install`. If the project does not declare it, `vp` points to the migration guide. `vp migrate` and commands outside a project stay silent ([#2362](#2362)), by @liangmiQwQ - Generated editor settings now disable nested Oxlint config resolution. The Vite+ config stays authoritative ([#2331](#2331)), by @liangmiQwQ > [!NOTE] > Upstream toolchain upgrade: vite `8.2.0` -> `8.2.1`, rolldown `1.2.2` -> `1.2.3`, oxlint `1.76.0` -> `1.77.0`, oxfmt `0.61.0` -> `0.62.0`, and the oxc npm packages and Rust crates `0.142.0` -> `0.143.0`. oxfmt and oxlint both changed. The new versions can report problems in code that passed before. If your CI runs `vp check`, run `vp fmt` after you upgrade ([#2373](#2373)), by @voidzero-guard[bot] ### Fixes & Enhancements - Yarn 2+ pins from `corepack use` now verify against the extracted CLI (`bin/yarn.js`), not the npm tarball. `vp install` no longer fails on a cold cache. `vp run` no longer downloads Yarn again on every run ([#2227](#2227)), by @leslieeilsel - `vp dev` no longer crashes at startup with `ENOENT` when `experimental.bundledDev` is enabled. The bundled dev client path now points to the packaged layout ([#2384](#2384)), by @lofcz - `vp migrate` now rejects a workspace member as its target. Before this release, it migrated the enclosing workspace instead. It now tells you to run the command from the workspace root ([#2229](#2229)), by @leslieeilsel - `VP_NODE_VERSION=22` and other partial versions now resolve to an exact Node.js release. This applies to shim-dispatched commands such as `vp env exec node -v` ([#2411](#2411)), by @jong-kyung - Managed `bunx` shims now dispatch through `bun x`. `bunx <package>` no longer starts a matching package script recursively. This applies to new Bun installations ([#2151](#2151)), by @liangmiQwQ - Managed Bun now selects the baseline build on x64 CPUs that do not have AVX2. Bun's standard builds require AVX2. Cached installations keep their current files ([#2179](#2179)), by @liangmiQwQ - Generated Nushell env files now escape and normalize paths correctly. A `VP_HOME` path that contains spaces or quotes now loads without an error ([#2191](#2191)), by @naokihaba - `vite-plus/test/browser-*` type exports now add `.js` extensions to relative shim specifiers. Those specifiers now resolve with `NodeNext` module resolution ([#2360](#2360)), by @eai04191 - Tool-backed help is now consistent with upstream. An exact `vp <command> --help` shows the local themed help. A command with more arguments (`vp test --help --coverage`, `vp test list --help`) goes to the bundled tool. Deep help and subcommand help stay complete ([#2345](#2345)), by @liangmiQwQ - Vite Task diagnostics now print paths and working directories without Rust debug formatting. Vite+ no longer prints quoted paths or escaped Windows backslashes ([vite-task#534](voidzero-dev/vite-task#534)), by @liangmiQwQ - Broad workspace globs no longer find and run package scripts inside `node_modules` ([vite-task#539](voidzero-dev/vite-task#539)), by @jong-kyung ### Refactor - Rename the internal Rust crates from `vite_*` to `vp_*` ([#2335](#2335)), by @fengmk2 - Move the shared CLI helpers into `utils` ([#2347](#2347)), by @jong-kyung - Remove a redundant Vite reporter patch from core ([#2355](#2355)), by @jong-kyung - Remove the duplicate export transformers in tools ([#2358](#2358)), by @jong-kyung - Move the accent helpers into `crate::help` ([#2363](#2363)), by @jong-kyung - Sort installed Node.js versions with node-semver ([#2366](#2366)), by @jong-kyung - Remove the duplicate package-manager command resolution tests ([#2393](#2393)), by @jong-kyung - Share the Vite config file order between the CLI code paths ([#2409](#2409)), by @jong-kyung - Use the silent spinner again in the migrators ([#2408](#2408)), by @jong-kyung ### Docs - Document how to write custom Oxlint plugins in the lint guide ([#2381](#2381)), by @connorshea - Document manual installation in the migrate guide ([#2365](#2365)), by @liangmiQwQ - Add a View Prompt dialog for the setup prompt ([#2400](#2400)), by @dennybiasiolli - Correct the documented `overrides` behavior to match Vite+ ([#1942](#1942)), by @liangmiQwQ - Explain `setup-vite-plus-action` version pinning in the CI guide ([#2359](#2359)), by @fengmk2 - Correct the config and staged paths in the CLI `BUNDLING.md` ([#2334](#2334)), by @dennybiasiolli - Remove unused performance data from the docs ([#2392](#2392)), by @jong-kyung - Add the v0.2.8 release learnings to the release-manager skill ([#2333](#2333)), by @fengmk2 ### Chore - Update the compiled Vite Task to `d05b1dc` ([#2339](#2339), [#2403](#2403)), by @wan9chi - Update the Rust nightly toolchain to `2026-08-02` ([#2342](#2342)), by @wan9chi - Update the repository pnpm to v11 ([#1997](#1997)), by @renovate[bot] - Remove the unused VitePress bundling from core ([#2332](#2332)), by @jong-kyung - Remove the unused tool subcommands ([#2324](#2324)), by @jong-kyung - Remove the unused `build:src` task ([#2396](#2396)), by @jong-kyung - Handle upstream help differences in the dependency upgrade workflow ([#2330](#2330)), by @liangmiQwQ - Publish preview builds from fork PRs with GitHub OIDC ([#2387](#2387)), by @fengmk2 - Require the preview publish approval only for fork PRs ([#2404](#2404)), by @fengmk2 - Correct the publishing workflow after its first real runs ([#2397](#2397)), by @fengmk2 - Deploy the production docs on release, and deploy a main preview on push ([#2389](#2389)), by @fengmk2 - Check the format of docs PRs with the `vp` built from the checkout ([#2388](#2388)), by @fengmk2 - Run the e2e migrate test at the clone root ([#2410](#2410)), by @fengmk2 - Pin the `dev_engines_runtime_pnpm11` snapshot to the seeded default Node version ([#2390](#2390)), by @fengmk2 - Use `pnpm test` again as the full gate ([#2376](#2376)), by @jong-kyung - Remove the global compile checks that did nothing ([#2394](#2394)), by @jong-kyung ### Bundled Versions | Tool | Version | Source | | --------------- | ---------- | ---------------------------------------------------------------------------- | | vite | `8.2.1` | [`4216158`](vitejs/vite@4216158) | | rolldown | `1.2.3` | [`52dbd19`](rolldown/rolldown@52dbd19) | | tsdown | `0.22.14` | [npm](https://npmx.dev/package/tsdown/v/0.22.14) | | vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) | | oxlint | `1.77.0` | [npm](https://npmx.dev/package/oxlint/v/1.77.0) | | oxlint-tsgolint | `7.0.2001` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) | | oxfmt | `0.62.0` | [npm](https://npmx.dev/package/oxfmt/v/0.62.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @eai04191, @KTrain5169, @lofcz, @tarikermis, @leslieeilsel **Full Changelog**: v0.2.8...v0.2.9 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK <fengmk2@gmail.com>
Summary
v1.2.3and vite tov8.2.1.1.77.0, oxfmt0.62.0, and the oxc npm/Rust crates0.142.0 -> 0.143.0.vp_static_config, oxlint 1.77 help-wording sync, rolldown pluginutils export types, and a test env fix.Dependency updates
rolldown872b98av1.2.3 (52dbd19)vitefa79f9av8.2.1 (4216158)oxfmt0.61.00.62.0oxlint1.76.01.77.0@oxc-project/runtime0.142.00.143.0@oxc-project/types0.142.00.143.0oxc-minify0.142.00.143.0oxc-parser0.142.00.143.0oxc-transform0.142.00.143.0oxc(Rust crates)0.142.00.143.0@vitejs/devtools0.4.100.4.12Unchanged dependencies
vitest:4.1.10@vitest/browser:4.1.10@vitest/browser-playwright:4.1.10@vitest/browser-preview:4.1.10@vitest/browser-webdriverio:4.1.10@vitest/expect:4.1.10@vitest/mocker:4.1.10@vitest/pretty-format:4.1.10@vitest/runner:4.1.10@vitest/snapshot:4.1.10@vitest/spy:4.1.10@vitest/utils:4.1.10tsdown:0.22.14@tsdown/css:0.22.14@tsdown/exe:0.22.14lightningcss:^1.33.0@oxc-node/cli:0.1.0@oxc-node/core:0.1.0oxlint-tsgolint:7.0.2001VITEST_VERSION constant:4.1.10README vitest pins:4.1.10Code changes
crates/vp_static_config/src/lib.rs: adaptdefineConfigarrow-body extraction to oxc 0.143, which represents an arrow body as anArrowFunctionBodyenum (block body vs. concise expression body) instead of aFunctionBody.packages/cli/src/help.ts: sync the oxlint 1.77-W, --warnhelp text ("Deny the rule or category (emit a warning)"->"Warn on the rule or category (emit a warning)").crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/{bin_oxlint_wrapper,command_helper,command_lint_help,test_panicked_fix}/snapshots/*.md: update PTY snapshots for the oxlint help-wording change.packages/core/package.json: addtypesentries to the./rolldown/pluginutilsand./rolldown/pluginutils/filterexports and bumpbundledVersions(vite8.2.1,rolldown1.2.3).packages/core/__tests__/binding-resolution-layout.spec.ts: delete the ambientNODE_PATHfrom the child process env so the virtual-store layout test stays hermetic underpnpm test.Cargo.toml: removeproc-macro2,quote, andsynfrom the cargo-shearignoredlist.pnpm-workspace.yaml: add a@volar/typescriptpackageExtensionand bump the oxc catalog entries.packages/cli/rules/vite-tools.yml: formatter whitespace cleanup (drop duplicate blank lines).Build status
sync-remote-and-build: successbuild-upstream: failure